The present invention relates to a data access apparatus, a data access method, a program product therefor and a recording medium therefor that are used for image processing such as pattern recognition and motion detection and set as an access pattern a pattern of plural pixels on a desired screen to acquire items of pixel data on the plural pixels specified by the access pattern in each set position in which a set position of the access pattern sequentially moves from a start position thereof toward a pixel row direction thereof.
A semiconductor memory MY has had such a configuration that a memory cell MC can be accessed by specifying a word line WL and a bit line BL, as shown in FIG. 1, and data stored in the memory cell MC intersected by the word line WL and the bit line BL, which have been specified, has been read out thereof. Thus, in the semiconductor memory MY having such the configuration, plural word lines WL share the same bit line BL. If two word lines WL1, WL2, for example, are specified as shown in FIG. 2, items of the data on the word lines WL1, WL2 intermingle in the bit line BL, thereby disabling the items of data on the separate word lines WL to be accessed at the same time.
On the other hand, as shown in FIG. 3, the semiconductor memory MY is divided into plural memory banks BK0 to BKn−1, to which any separate addresses are specified, and thence, the items of data on the word lines WL can be accessed at the same time. This, however, disables the items of data on the different word lines WL in the memory bank to be accessed at the same time.
It is generally any one of the cases where different memory banks store plural items of data and these plural items of the data are stored in the memory cells on the same word line that the items of data can be accessed at the same time.
Various kinds of processing such as pattern recognition and motion detection have been carried out by acknowledging a specified data array included in the input data. For example, an image data processing apparatus contains a buffer memory that stores pixel data of some lines and transmits data for each pixel, a data processing unit including plural processor elements each for enabling data having a data width of some bits to be processed and processing the data in parallel at the same time by the plural processor elements, a control information memory for storing matching reference data and control data. Each processor element in the data processing unit digitizes, using a threshold value, a group of pixel data of matrix in which a target pixel designated to itself is set as a center thereof, among items of image data read out of the buffer memory to convert them into serial subject data that is segmented into data having a bit width which the processor element can process. The image data processing apparatus determines whether the subject data corresponds to reference data stored in a control information memory, which has same form as that of the subject data (see Japanese Patent Application Publication No. 2003-203236).
Further, in a motion image processing field, any motion, namely, a motion direction and an amount (velocity) of moving of the object in the images that are different from each other in time have been used. For example, the motion has been used relative to inter-frame motion compensation coding relative to any high efficiency image coding and a parameter control by motion in a television noise reduction device by an inter-frame time region filter. As a motion detection method for obtaining the motion, a block-matching method has been known. The motion detection method for detecting any motion in an image signal has been known (see Japanese Patent Application Publication No. 2001-61152). The method includes the steps of: generating a table for integration values using a matching method for one entire screen or for each relatively large block obtained by dividing one screen into several blocks and extracting one or plural candidate vector(s) using the table for each relatively large block obtained by dividing one screen into several blocks; and matching only the candidate vector(s) to detect a motion vector for each pixel or relatively small block. In such the motion detection method having two steps, it may be necessary to read plural items of optional pixel data in a screen at the same time during both of the two steps, representative point matching and vector assignment, by which any motion detection in the screen can be carried out by the representative point matching of two step system.
A pattern of plural pixels can be set as an access pattern on a predetermined screen in which pixel rows each extending in a vertical or horizontal direction are sequentially arranged in the vertical or horizontal direction and then, items of pixel data on plural pixels specified by the access pattern can be obtained at the same time on each set position in which the set position of the access pattern sequentially moves from a start position thereof toward a pixel row direction pixel-by-pixel.
For example, as shown in FIG. 4, a pattern of five pixels, IM1 to IM5, can be set as an access pattern ACP on a screen SRN in which pixel rows each extending in a horizontal direction are sequentially arranged in a vertical direction and then, a set position of the access pattern ACP can sequentially move from a start position thereof toward a pixel row direction. In this case, the pixel row direction is a horizontal direction. The set position of the access pattern ACP moves based on a raster scan sequence. A symbol, “□” shown in FIG. 4 indicates one pixel and the set position of the access pattern ACP shown in FIG. 4 indicates a start position thereof.
It is estimated that five memory banks BK0 to BK4 sequentially store pixel data of each pixel row in the screen SRN pixel-by-pixel as shown in FIG. 5 starting from a left-upper periphery pixel according to the raster scan sequence. It is to be noted that figures described in the symbol, “□” shown in FIG. 5 indicate any bank addresses BK0 to BK4. In this case, when the set position of the access pattern ACP stays in its start position, items of pixel data relative to five pixels IM1 to IM5 that the access pattern ACP specifies are stored in address positions encircled in the memory banks BK0 to BK4 as shown in FIG. 6, thereby enabling the five items of pixel data to be accessed and read out at the same time.
When the set position of the access pattern ACP moves from its start position pixel-by-pixel up to a set position moved by four pixels, the five items of pixel data can be accessed and read out at the same time, as a case where the set position of the access pattern ACP stays in its start position. As shown in FIG. 7, however, when the set position of the access pattern ACP moves to a set position moved by five pixels, items of pixel data relative to five pixels IM1 to IM5 that the access pattern ACP specifies are stored in address positions encircled in the memory banks BK0 to BK4 as shown in FIG. 8, and thence, it may be necessary to access items of data by plural word lines in the memory bank BK0, thereby disabling the five items of pixel data to be accessed and read out at the same time.
Although items of pixel data can be accessed at the same time according to any access pattern if storage position is suitably selected, it may be necessary to split a memory bank finely so that one memory bank can be configured of only one word line, in order to allow plural items of pixel data to be accessed at the same time according to any access patterns. However, the finer the memory bank is split, the larger the number of bank increases. An address is separately assigned to each bank, thereby resulting in enormous numbers of address buses. Decoders and/or selectors corresponding to numbers of banks can be necessitated, thereby increasing a chip area therefor. Plural banks operate at the same time, thereby increasing power consumption therefor.
Alternatively, it has been proposed to access plural items of pixel data corresponding to an access pattern in a time-sharing mode and store them in a cache memory or a buffer memory temporarily, thereby implementing any concurrent access thereof virtually (see Japanese Utility Model Application Publications Nos. S63-35146 and H08-896), which generates any delay in terms of time.
It is desirable to provide a data access apparatus, a data access method, a program product therefor and a recording medium therefor, which are easily capable of acquiring items of pixel data relative to the plural pixels specified by the access pattern at the same time at each set position in which a set position of the access pattern sequentially moves from a start position thereof toward a pixel row direction thereof.